#ifndef CTAGMOBITORDLG_H
#define CTAGMOBITORDLG_H
/********************************************************************************
** @ Date:2024/02/29
** @ Author: HanJiaXin
** @ Description:测点监视对话框
** @ Version:1.0.0
** @ ClassName:CTagMobitorDlg
** @ Fun:
********************************************************************************/

#include <QDialog>
#include <QStandardItemModel>
#include <QTimer>
#include "cclientdata.h"

namespace Ui {
class CTagMobitorDlg;
}

class CTagMobitorDlg : public QDialog
{
    Q_OBJECT

public:
    explicit CTagMobitorDlg(QWidget *parent = 0);
    ~CTagMobitorDlg();

private:
    void initConnect();//初始化槽函数连接
    void initUi();//初始化界面
    void updatePageInfo();    // 更新页码显示
    void updateButtonStates();//更新按钮状态
    void loadPointList();//加载测点到界面中
    void setFilter(const QString& sFilterText);//设置筛选函数

private slots:
    void slotComboBoxPageSizeChanged(const QString& sSize);//下拉框变化槽函数
    void slotPushButtonPre();//点击上一页
    void slotPushButtonNext();//点击下一页
    void slotPushButtonJump();//点击跳转页面
    void slotDataFlush();//定时器刷新槽函数
    void slotPushButtonFilter();//筛选按钮槽函数

private:
    Ui::CTagMobitorDlg *ui;
    QStandardItemModel* m_pModel; //表格数据集
    QTimer* m_pTimer;//定时器
    int m_nCurrentPage;//当前页码
    int m_nPageSize;//每页显示的数量
    int m_nTotalPages;//總頁數
    QString m_sFilterText;//筛选条件
    QVector<CTagData*> m_vecFilterTags;//筛选结果缓存
};

#endif // CTAGMOBITORDLG_H
